// 创建生成token的中间件
const jwt=require('jsonwebtoken')
const db=require('./db')
db.init()//数据库初始化
//基于nodejs的规范  对外暴露出当前模块  供外部使用
module.exports=async (req,res,next)=>{
    //req代表了前端发送的请求
    if(req.method==='POST'&&req.path==='/login'){
        //结构req.body 来自于H5发送的ajax请求携带的参数
          const {username,password}=req.body
           console.log(username,password);
    //    对账号密码是否匹配做校验
      const isPass=await db.checkUser(username,password)
      if(isPass){
           //校验通过的话 生成token  返回给前端  token加密
           //sign 根据用户名生成一个token   第一个参数是用户名 第二个是加密
           let token=jwt.sign({username},'user')
           console.log(token);
           return res.status(200).json({
            success:true,
            data:{
                token
            }
           })
      }
    }
    // else{
    //     // 表明是登录接口
    //     // res:response  返回 网络请求给前端的内容
    //     return res.status(200).json({
    //         success:false,
    //         data:{}
    //     })
    // }
     
    // // 在header中获取token
    // const token=req.headers['token']
    // try{
    //     // 如果有token  就把token解密
    //     const decoded=jwt.verify(token,'2302B')

    // }catch(e){
    //     return res.status(200).json({
    //         success:false,
    //         msg:'token已失效'
    //     })
    // }
    next()
}
